#include <string>
#include <iostream>

using namespace std;

class person
{
public:
    string name = "小白";
    int id = 100;
    static int cnt;
};

class student : public person
{
public:
    // 输出结果是：小白 100.1
    // 这是因为父类的id被子类同名隐藏了
    // void print()
    // {
    //     cout << name << " " << id << endl;
    // }
    
    // 输出结果是：小白 100 
    void print()
    {
        cout << name << " " << person::id << endl;
    }
    double id = 100.1;
};

// 静态成员要在类内声明，在类外定义
int person::cnt = 1;

int main()
{
    // student s;
    // s.print();
    
    // 派生类继承的静态成员的地址相同，说明它们共享静态变量 
    cout << &person::cnt << endl;
    cout << &student::cnt << endl;
    return 0;
}